
package de.syfy.project.utils;

import de.syfy.project.game.weapons.Weapon;
import java.util.ArrayList;
import java.util.Random;

/**
 * GAAAANZ popeliger Namensgenerator...  ist absolut ausbaufähig
 * Da muss noch ne Menge passieren ^^ 
 * 
 * aktuell mehr geschummelt als algorithmisch ausgeklügelt ;)
 * 
 * @author Felix
 */
public class NameGen {
    ArrayList<String> attributiv = new ArrayList();
    ArrayList<String> adverb = new ArrayList();

    public NameGen() {
       // this.example();
        
    }
    
    public void example(){
        attributiv.add("fanatische");
        attributiv.add("gruselige");
        attributiv.add("blutige");
        attributiv.add("glänzende");
        attributiv.add("erotische");
        attributiv.add("abartige");
        adverb.add(" des Grauens");
        adverb.add(" der Lust");
        adverb.add(" des Friedens");
        adverb.add(" der Freude");
        adverb.add(" des Metzelns");
    }
    public String name(String type){
        String str = "";
        Random r = new Random();
        str = attributiv.get(r.nextInt(attributiv.size())) + type + adverb.get(r.nextInt(adverb.size())) ;
        return str;
    }
    
    /*
     * Methode zum Benennen einer Waffe
     * Attributiv = größtes Attribut
     * Adverb = 2.größtes Attribut
     */
    public String weaponName(Weapon waffe){
        String ret = "";
        SVTupel[] sv = waffe.getValues().getSortedValues();
        if ("Stärke".equals(sv[3].s)) {ret="brutal";}
        else if("Intelligenz".equals(sv[3].s)){ret = "verziert";}
        else if("Charisma".equals(sv[3].s)){ret = "hübsch";}
        else if("Konstitution".equals(sv[3].s)) {ret = "robust";}
        
        switch(waffe.getTyp()){
            case Axt: ret += "e Axt";break;
            case Schwert: ret += "es Schwert";break;
            case Hammer: ret += "er Hammer";break;
            case Pistole: ret += "e Pistole";break;
            case Flinte: ret += "e Flinte";break;
            case Gewehr: ret += "es Gewehr";break;
            case MG: ret += "es Maschinengewehr";break;
            case SMG: ret += "e Maschinenpistole";break;           
        }
        if ("Stärke".equals(sv[2].s)) {ret +=" des Metzelns";}
        else if("Intelligenz".equals(sv[2].s)){ret += " des schnellen Geistes";}
        else if("Charisma".equals(sv[2].s)){ret += " der flinken Worte";}
        else if("Konstitution".equals(sv[2].s)) {ret += " der Ausdauer";}
        
        return ret;
    }
}